package cn.wolfcode.rbac.service;

import cn.wolfcode.rbac.config.PageInfo;
import cn.wolfcode.rbac.config.QueryObject;
import cn.wolfcode.rbac.model.PermissionDO;
import cn.wolfcode.rbac.model.RoleDO;
import cn.wolfcode.rbac.request.RoleRequest;
import cn.wolfcode.rbac.vo.DepartmentVO;
import cn.wolfcode.rbac.vo.RoleVO;

import java.util.List;

/**
 * @author Lu.F
 * @version 1.0
 * @Description TODO
 * @date 2022/5/20 14:12
 */
public interface RoleService {

    /**
     * 查看角色权限信息
     * @return
     */
    List<RoleDO> listAll();

    PageInfo<RoleDO> pageDepartment(QueryObject queryObject);

    /**
     * 查找对应角色信息
     * @param id
     * @return
     */
    RoleVO get(Long id);

    void saveOrUpdate(RoleRequest roleRequest, List<Long> permissionIds);

    void delete(Long id);
}
